Skip to content

Three zones hydronic heating

The previous tutorials provided idealized, somewhat unrealistic examples. In this tutorial, we will simulate a three-zone building with a hydronic heating system, creating a more realistic house model.

As usual, the configuration file will be presented and explained. Here are some key points to note regarding the configuration file:

  • Default Construction Values: Trano includes a set of predefined construction, glazing, and gas properties that can be imported into your configuration file. To use them, add the following line:

    default: !include_default
    

  • Emissions Systems: Each space is assigned a list of emission systems. Each system is linked to a radiator object (RADIATOR:001) and a valve object (VALVE:001). The valve is controlled instead of the radiator:

    emissions:
      - radiator:
          id: RADIATOR:001
      - valve:
          id: VALVE:001
          control:
            emission_control:
    

  • Defining the Hydronic System: It is essential to define the complete hydronic system, which includes the boiler, pump, and various valves:

    systems:
      - boiler:
          id: BOILER:001
          control:
            boiler_control:
      - pump:
          id: PUMP:001
          control:
            collector_control:
          outlets:
            - THREE_WAY_VALVE:001
            - THREE_WAY_VALVE:002
          inlets:
            - BOILER:001
      - split_valve:
          id: SPLIT_VALVE:001
          inlets:
            - VALVE:003
            - VALVE:001
          outlets:
            - BOILER:001
      - three_way_valve:
          id: THREE_WAY_VALVE:001
          control:
            three_way_valve_control:
          outlets:
            - TEMPERATURE_SENSOR:001
            - SPLIT_VALVE:001
      - temperature_sensor:
          id: TEMPERATURE_SENSOR:001
          outlets:
            - RADIATOR:001
            - RADIATOR:003
      - split_valve:
          id: SPLIT_VALVE:002
          inlets:
            - VALVE:002
          outlets:
            - BOILER:001
      - three_way_valve:
          id: THREE_WAY_VALVE:002
          control:
            three_way_valve_control:
          outlets:
            - TEMPERATURE_SENSOR:002
            - SPLIT_VALVE:002
      - temperature_sensor:
          id: TEMPERATURE_SENSOR:002
          inlets:
            - THREE_WAY_VALVE:002
          outlets:
            - RADIATOR:002
    

Input configuration file

The described configuration represents a multi-room building with a combination of different internal and external spaces. It includes:

  1. Construction Details:
  2. Materials: The walls and floors are composed of materials with thermal conductivity of 0.035, a density of 2000 kg/m³, and a specific heat capacity of 1000 J/(kg·K), indicating good insulation properties.
  3. Constructions: The building features cavity walls and concrete slabs.

  4. Space Allocation:

  5. There are three distinct spaces (rooms), each with specific dimensions and occupancy parameters, including floor area and ceiling height.

  6. Heating System:

  7. The building is equipped with a centralized heating system, featuring radiators controlled by valves and a boiler for heating water.

  8. Ventilation and Temperature Control:

  9. Various sensors and three-way valves manage the flow of heating, suggesting a focus on maintaining comfort and energy efficiency.

Overall, this configuration suggests a residential building designed for efficient thermal performance and effective heating management, with clearly defined living spaces and infrastructure for heating control.

default: !include_default
material:
  - id: MATERIAL:001
    thermal_conductivity: 0.035
    density: 2000.0
    specific_heat_capacity: 1000.0
  - id: MATERIAL:002
    thermal_conductivity: 0.035
    density: 2000.0
    specific_heat_capacity: 1000.0
  - id: MATERIAL:003
    thermal_conductivity: 0.035
    density: 2000.0
    specific_heat_capacity: 1000.0

constructions:
  - id: CONSTRUCTION:001
    layers:
      - material: MATERIAL:001
        thickness: 0.1
      - material: MATERIAL:002
        thickness: 0.1
      - material: MATERIAL:003
        thickness: 0.1
spaces:
  - occupancy:
    parameters:
      floor_area: 100.0
      average_room_height: 2.5
    id: SPACE:001
    external_boundaries:
      external_walls:
        - surface: 20
          azimuth: 0
          tilt: wall
          construction: CAVITYWALL:001
        - surface: 30
          azimuth: 90
          tilt: wall
          construction: CAVITYWALL:001
        - surface: 50
          azimuth: 180.0
          tilt: wall
          construction: CAVITYWALL:001
      windows:
        - surface: 5.0
          construction: EPCDOUBLE:001
          azimuth: 0
          tilt: wall
        - surface: 2.0
          construction: EPCDOUBLE:001
          azimuth: 180.0
          tilt: wall
      floor_on_grounds:
        - surface: 120
          construction: CONCRETESLAB:001
    emissions:
      - radiator:
          id: RADIATOR:003
      - valve:
          id: VALVE:003
          control:
            emission_control:
  - occupancy:
    parameters:
      floor_area: 70
      average_room_height: 2.5
    id: SPACE:002
    external_boundaries:
      external_walls:
        - surface: 25
          azimuth: 0
          tilt: wall
          construction: CAVITYWALLPARTIALFILL:001
        - surface: 25
          azimuth: 90
          tilt: wall
          construction: CAVITYWALLPARTIALFILL:001
        - surface: 34
          azimuth: 180
          tilt: wall
          construction: CAVITYWALLPARTIALFILL:001
      windows:
        - surface: 5.0
          construction: INS2AR2020:001
          azimuth: 0
          tilt: wall
        - surface: 2.0
          construction: INS2AR2020:001
          azimuth: 180
          tilt: wall
      floor_on_grounds:
        - surface: 60
          construction: CONCRETESLAB:001
    emissions:
      - radiator:
          id: RADIATOR:001
      - valve:
          id: VALVE:001
          control:
            emission_control:
  - occupancy:
    parameters:
      floor_area: 50.0
      average_room_height: 2.5
    id: SPACE:003
    external_boundaries:
      external_walls:
        - surface: 22
          azimuth: 180.0
          tilt: wall
          construction: CONSTRUCTION:001
        - surface: 17
          azimuth: 180.0
          tilt: wall
          construction: CONSTRUCTION:001
        - surface: 36
          azimuth: 180.0
          tilt: wall
          construction: CONSTRUCTION:001
      floor_on_grounds:
        - surface: 60.0
          construction: CONCRETESLAB:001
    emissions:
      - radiator:
          id: RADIATOR:002
      - valve:
          id: VALVE:002
          control:
            emission_control:
internal_walls:
  - space_1: SPACE:001
    space_2: SPACE:002
    construction: CAVITYWALL:001
    surface: 20
  - space_1: SPACE:002
    space_2: SPACE:001
    construction: CONSTRUCTION:001
    surface: 15
  - space_1: SPACE:002
    space_2: SPACE:003
    construction: CAVITYWALLPARTIALFILL:001
    surface: 22
systems:
  - boiler:
      id: BOILER:001
      control:
        boiler_control:
  - pump:
      id: PUMP:001
      control:
        collector_control:
      outlets:
        - THREE_WAY_VALVE:001
        - THREE_WAY_VALVE:002
      inlets:
        - BOILER:001
  - split_valve:
      id: SPLIT_VALVE:001
      inlets:
        - VALVE:003
        - VALVE:001
      outlets:
        - BOILER:001
  - three_way_valve:
      id: THREE_WAY_VALVE:001
      control:
        three_way_valve_control:
      outlets:
        - TEMPERATURE_SENSOR:001
        - SPLIT_VALVE:001
  - temperature_sensor:
      id: TEMPERATURE_SENSOR:001
      outlets:
        - RADIATOR:001
        - RADIATOR:003
  - split_valve:
      id: SPLIT_VALVE:002
      inlets:
        - VALVE:002
      outlets:
        - BOILER:001
  - three_way_valve:
      id: THREE_WAY_VALVE:002
      control:
        three_way_valve_control:
      outlets:
        - TEMPERATURE_SENSOR:002
        - SPLIT_VALVE:002
  - temperature_sensor:
      id: TEMPERATURE_SENSOR:002
      inlets:
        - THREE_WAY_VALVE:002
      outlets:
        - RADIATOR:002

Code

The following code snippet demonstrates how to simulate a multizone model using Trano. This simulation generates a comprehensive report that includes a detailed description of parameters and accompanying figures.

Test tutorials
    from trano.main import simulate_model
    from trano.simulate.simulate import SimulationLibraryOptions

    simulate_model(
        "./three_zones_hydronic_heating.yaml",
        SimulationLibraryOptions(
            start_time=0,
            end_time=2 * 3600 * 24 * 7,
            tolerance=1e-4,
            library_name="Buildings",
        ),
    )

General Explanation

This code snippet imports a function to simulate a model using configuration settings defined in a YAML file. It specifies parameters like time duration, tolerance, and the library to use for simulations.

Parameters Description

  • Path to Model File: "./three_zones_hydronic_heating.yaml"
  • Specifies the location of the simulation model configuration file.

  • SimulationLibraryOptions:

  • start_time: 0

    • The time at which the simulation starts, in seconds.
  • end_time: 2 * 3600 * 24 * 7

    • The total simulation duration, calculated here to be two weeks in seconds.
  • tolerance: 1e-4

    • The acceptable numerical tolerance for the simulation results.
  • library_name: "Buildings"

    • The name of the library utilized for the simulation.

Outputs

The following report was generated by Trano after simulating the three-zone building with an ideal heating system.

Spaces

External Boundaries Table

hRoo AFlo linearizeRadiation m_flow_nominal mSenFac T_start volume
2.5 100.0 true 0.01 1.0 294.15 250.0
gain k occupancy name
[35; 70; 30] 1/6/4 3600 * {7, 19} occupancy_1
Name Azimuth Construction Name Surface Tilt
externalwall_0 0.0 cavitywall_001 20.0 wall
externalwall_1 90.0 cavitywall_001 30.0 wall
externalwall_2 180.0 cavitywall_001 50.0 wall
window_0 0.0 epcdouble_001 5.0 wall
window_1 180.0 epcdouble_001 2.0 wall
flooronground_0 90.0 concreteslab_001 120.0 floor
internal_space_001_space_002_cavitywall 10.0 cavitywall_001 20.0 wall
internal_space_002_space_001_construction 10.0 construction_001 15.0 wall
TAir_nominal dp_nominal n deltaM fraRad Q_flow_nominal nEle TRad_nominal linearized from_dp T_a_nominal T_b_nominal mDry VWat name
293.15 0.0 1.24 0.01 0.3 2000.0 1 293.15 false false 363.15 353.15 52.6 0.116 radiator_003
dpFixed_nominal dpValve_nominal deltaM m_flow_nominal delta0 R linearized from_dp l name
6000.0 6000.0 0.02 0.01 0.01 50.0 false true 0.0001 valve_003
External Boundaries Table
hRoo AFlo linearizeRadiation m_flow_nominal mSenFac T_start volume
2.5 70.0 true 0.01 1.0 294.15 175.0
gain k occupancy name
[35; 70; 30] 1/6/4 3600 * {7, 19} occupancy_2
Name Azimuth Construction Name Surface Tilt
externalwall_3 0.0 cavitywallpartialfill_001 25.0 wall
externalwall_4 90.0 cavitywallpartialfill_001 25.0 wall
externalwall_5 180.0 cavitywallpartialfill_001 34.0 wall
window_2 0.0 ins2ar2020_001 5.0 wall
window_3 180.0 ins2ar2020_001 2.0 wall
flooronground_1 90.0 concreteslab_001 60.0 floor
internal_space_001_space_002_cavitywall 10.0 cavitywall_001 20.0 wall
internal_space_002_space_001_construction 10.0 construction_001 15.0 wall
internal_space_002_space_003_cavitywallpartialfill 10.0 cavitywallpartialfill_001 22.0 wall
TAir_nominal dp_nominal n deltaM fraRad Q_flow_nominal nEle TRad_nominal linearized from_dp T_a_nominal T_b_nominal mDry VWat name
293.15 0.0 1.24 0.01 0.3 2000.0 1 293.15 false false 363.15 353.15 52.6 0.116 radiator_001
dpFixed_nominal dpValve_nominal deltaM m_flow_nominal delta0 R linearized from_dp l name
6000.0 6000.0 0.02 0.01 0.01 50.0 false true 0.0001 valve_001
External Boundaries Table
hRoo AFlo linearizeRadiation m_flow_nominal mSenFac T_start volume
2.5 50.0 true 0.01 1.0 294.15 125.0
gain k occupancy name
[35; 70; 30] 1/6/4 3600 * {7, 19} occupancy_3
Name Azimuth Construction Name Surface Tilt
externalwall_6 180.0 construction_001 22.0 wall
externalwall_7 180.0 construction_001 17.0 wall
externalwall_8 180.0 construction_001 36.0 wall
flooronground_2 90.0 concreteslab_001 60.0 floor
internal_space_002_space_003_cavitywallpartialfill 10.0 cavitywallpartialfill_001 22.0 wall
TAir_nominal dp_nominal n deltaM fraRad Q_flow_nominal nEle TRad_nominal linearized from_dp T_a_nominal T_b_nominal mDry VWat name
293.15 0.0 1.24 0.01 0.3 2000.0 1 293.15 false false 363.15 353.15 52.6 0.116 radiator_002
dpFixed_nominal dpValve_nominal deltaM m_flow_nominal delta0 R linearized from_dp l name
6000.0 6000.0 0.02 0.01 0.01 50.0 false true 0.0001 valve_002

Construction

Layer Information Table

Layers for concreteslab_001
Name c epsLw epsSw k rho Thickness
concrete_001 900.0 0.88 0.55 1.4 2240.0 0.125
concrete_001 900.0 0.88 0.55 1.4 2240.0 0.125
Layer Information Table
Layers for construction_001
Name c epsLw epsSw k rho Thickness
material_001 1000.0 0.85 0.85 0.035 2000.0 0.1
material_002 1000.0 0.85 0.85 0.035 2000.0 0.1
material_003 1000.0 0.85 0.85 0.035 2000.0 0.1
Layer Information Table
Layers for epcdouble_001
Name c epsLw epsSw k rho Thickness
glass_001 840.0 0.84 0.67 1.0 2500.0 0.0038
air_001 1006.0 0.0 0.0 0.0256 1.2 0.012
glass_001 840.0 0.84 0.67 1.0 2500.0 0.0038
Layer Information Table
Layers for cavitywallpartialfill_001
Name c epsLw epsSw k rho Thickness
brick_001 800.0 0.88 0.55 0.89 1920.0 0.08
air_001 1006.0 0.0 0.0 0.0256 1.2 0.03
rockwool_001 800.0 0.8 0.8 0.035 100.0 0.1
brickhollow_001 880.0 0.88 0.55 0.3 850.0 0.14
gypsum_001 840.0 0.85 0.65 0.38 1120.0 0.015
Layer Information Table
Layers for ins2ar2020_001
Name c epsLw epsSw k rho Thickness
glass_001 840.0 0.84 0.67 1.0 2500.0 0.006
argon_001 522.0 0.0 0.0 0.0174 1.66 0.016
glass_001 840.0 0.84 0.67 1.0 2500.0 0.006
Layer Information Table
Layers for cavitywall_001
Name c epsLw epsSw k rho Thickness
brick_001 800.0 0.88 0.55 0.89 1920.0 0.08
rockwool_001 800.0 0.8 0.8 0.035 100.0 0.1
brickhollow_001 880.0 0.88 0.55 0.3 850.0 0.14
gypsum_001 840.0 0.85 0.65 0.38 1120.0 0.015

Systems

External Boundaries Table

coefficients_for_efficiency_curve diff_pressure dp_nominal dt_boi_nominal dt_rad_nominal effcur fraction_of_nominal_flow_rate_where_flow_transitions_to_laminar height_of_tank_without_insulation if_actual_temperature_at_port_is_computed nominal_heating_power number_of_volume_segments sca_fac_rad tank_volume temperature_used_to_compute_nominal_efficiency thickness_of_insulation use_linear_relation_between_m_flow_and_dp_for_any_flow_rate nominal_mass_flow_radiator_loop nominal_mass_flow_rate_boiler v_flow name
{0.9} 5000*{2,1} 5000.0 20.0 10.0 Buildings.Fluid.Types.EfficiencyCurves.Constant 0.1 2.0 false 2000.0 4 1.5 0.2 353.15 0.002 false 0.07142857142857142 0.07142857142857142 0.07142857142857142/1000*{0.5,1} boiler_001